/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package proteusadm;

import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.print.*;
import javax.print.attribute.HashDocAttributeSet;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.JobName;
import javax.print.attribute.standard.MediaSizeName;
import javax.print.attribute.standard.OrientationRequested;
import javax.swing.JOptionPane;

/**
 *
 * @author Gui
 */
public class Tools {

    public static String UpperOneofWord(String string) {
        String retorno = "";

        String[] aux = string.split(" ");

        for (int i = 0; i < aux.length; i++) {
            if (!aux[i].equalsIgnoreCase("da") && !aux[i].equalsIgnoreCase("de")) {
                String x = aux[i].substring(0, 1).toUpperCase();
                String y = aux[i].substring(1, aux[i].length());


                x = x + y + " ";
                retorno = retorno + x;
            } else {
                retorno = retorno + aux[i] + " ";
            }
        }
        return retorno;

    }

    public static void imprime() {

        String textoimp = "C:\\Users\\Gui\\Documents\\a.txt";
        System.out.println(textoimp);
        System.out.println(textoimp.getBytes());
// /n/r para novas linhas e /f para fim da pagina
        try {
            

            

            PrintRequestAttributeSet printerAttributes = new HashPrintRequestAttributeSet();
            printerAttributes.add(new JobName("Impressao Venda", null));
            printerAttributes.add(OrientationRequested.PORTRAIT);
            printerAttributes.add(MediaSizeName.ISO_A4); // informa o tipo de folha

            InputStream prin = new ByteArrayInputStream(textoimp.getBytes());
            Doc documentoTexto = new SimpleDoc(prin, DocFlavor.INPUT_STREAM.AUTOSENSE,null);
          
            System.out.println(prin.equals(true));
            PrintService impressora = PrintServiceLookup.lookupDefaultPrintService(); // pega a //impressora padrao
           
            DocPrintJob printJob = impressora.createPrintJob();
          
            try {
                printJob.print(documentoTexto, printerAttributes); //tenta imprimir
            } catch (PrintException e) {
                JOptionPane.showMessageDialog(null, "Não foi possível realizar a impressão !!"+e.getMessage(), "Erro", JOptionPane.ERROR_MESSAGE); // mostra //mensagem de erro
                e.printStackTrace();
            }
            prin.close();
        } catch (Exception e) {
        }
    }

//    public static void imprime2() {
//        String texto = "<html> <h1>o que vai ser impresso \naaa </h1> </html>";
//
//        PrintService impressora = PrintServiceLookup.lookupDefaultPrintService();
//        DocPrintJob dpj = impressora.createPrintJob();
//        InputStream stream = new ByteArrayInputStream(texto.getBytes());
//
//        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
//         
//        Doc doc = new SimpleDoc(stream, flavor, attributes);
//        try {
//            dpj.print(doc, null);
//        } catch (PrintException ex) {
//            Logger.getLogger(Tools.class.getName()).log(Level.SEVERE, null, ex);
//            ex.printStackTrace();
//        }
//    }

    public static void main(String[] args) {
        String nome = "guilherme prestes da silva";
        System.out.println(UpperOneofWord(nome));

        Tools.imprime();
    }
}
